1. Technical Field
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to an apparatus and method for performing externally assisted calls in a heterogeneous processing complex.
2. Description of Related Art
The Cell Broadband Engine architecture (CBEA), available from International Business Machines, Inc. of Armonk, N.Y., comprises a power processing element (PPE), which serves as a control plane processor, and multiple synergistic processing elements (SPEs) that serve as data plane processors. The SPEs are designed to execute small, high computation, software kernels. The SPEs have local storage devices that are locally addressable and have local limited protection mechanisms, e.g., an isolation mode of operation. That is, the local limited protection mechanisms make the local store fully protectable from outside processing elements and input/output (I/O) devices while the local SPE may freely read, write, and execute anywhere within its own the local store. These limited protection mechanisms and local addressability dictate that the operating system run on the PPE instead of the SPEs.
Without an operating system running on the SPEs, application developers do not readily have access to supervisory and device driver services programmers have come to expect. For example, file I/O services (e.g., printf, fopen, fread, etc.), shared memory access (e.g., shmat), memory mapping services (e.g., mmap), and I/O control (ioctl) services are among the services that are not readily available to applications running on SPEs in the data plane because the operating system, which provides these services, runs on the PPE in the control plane.